@enjoys/context-engine 1.3.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/codeActions/angular.json +126 -0
- package/data/codeActions/nestjs.json +124 -0
- package/data/codeActions/nextjs.json +198 -0
- package/data/codeActions/react.json +154 -0
- package/data/codeActions/shadcn.json +112 -0
- package/data/codeActions/shell.json +169 -26
- package/data/codeLens/angular.json +22 -0
- package/data/codeLens/awk.json +1 -1
- package/data/codeLens/azcli.json +10 -10
- package/data/codeLens/c.json +1 -1
- package/data/codeLens/caddy.json +1 -1
- package/data/codeLens/crontab.json +1 -1
- package/data/codeLens/doctest.json +10 -10
- package/data/codeLens/hcl.json +1 -1
- package/data/codeLens/html.json +1 -1
- package/data/codeLens/lua.json +1 -1
- package/data/codeLens/nestjs.json +21 -0
- package/data/codeLens/nextjs.json +117 -0
- package/data/codeLens/nginx.json +1 -1
- package/data/codeLens/pla.json +10 -10
- package/data/codeLens/react.json +89 -0
- package/data/codeLens/shadcn.json +89 -0
- package/data/codeLens/shell.json +59 -17
- package/data/codeLens/tailwindcss.json +56 -0
- package/data/codeLens/xml.json +1 -1
- package/data/color/angular.json +21 -0
- package/data/color/nestjs.json +18 -0
- package/data/color/nextjs.json +22 -0
- package/data/color/react.json +93 -0
- package/data/color/shadcn.json +66 -0
- package/data/color/shell.json +106 -80
- package/data/commands/angular.json +670 -0
- package/data/commands/c.json +30 -30
- package/data/commands/cpp.json +30 -30
- package/data/commands/crontab.json +25 -30
- package/data/commands/cypher.json +26 -30
- package/data/commands/dockerfile.json +26 -2
- package/data/commands/doctest.json +23 -24
- package/data/commands/dotenv.json +24 -11
- package/data/commands/ecl.json +26 -30
- package/data/commands/flow9.json +24 -24
- package/data/commands/freemarker2.json +24 -18
- package/data/commands/graphql.json +25 -11
- package/data/commands/html.json +25 -11
- package/data/commands/ini.json +26 -12
- package/data/commands/javascript.json +29 -30
- package/data/commands/less.json +25 -29
- package/data/commands/lexon.json +23 -11
- package/data/commands/liquid.json +26 -11
- package/data/commands/m3.json +26 -12
- package/data/commands/manifest.json +35 -726
- package/data/commands/markdown.json +26 -12
- package/data/commands/mdx.json +23 -10
- package/data/commands/mips.json +26 -18
- package/data/commands/msdax.json +23 -11
- package/data/commands/nestjs.json +516 -0
- package/data/commands/nextjs.json +250 -0
- package/data/commands/objective-c.json +26 -24
- package/data/commands/pascal.json +27 -24
- package/data/commands/pascaligo.json +26 -24
- package/data/commands/perl.json +30 -30
- package/data/commands/pla.json +23 -11
- package/data/commands/postiats.json +26 -24
- package/data/commands/powerquery.json +23 -11
- package/data/commands/powershell.json +28 -30
- package/data/commands/protobuf.json +27 -30
- package/data/commands/qsharp.json +26 -30
- package/data/commands/razor.json +25 -29
- package/data/commands/react.json +244 -0
- package/data/commands/redshift.json +27 -18
- package/data/commands/restructuredtext.json +29 -30
- package/data/commands/sb.json +23 -11
- package/data/commands/scheme.json +25 -18
- package/data/commands/scss.json +26 -29
- package/data/commands/shadcn.json +564 -0
- package/data/commands/shell.json +571 -41
- package/data/commands/sol.json +27 -30
- package/data/commands/sparql.json +25 -11
- package/data/commands/sql.json +16 -2
- package/data/commands/ssh_config.json +31 -30
- package/data/commands/st.json +23 -11
- package/data/commands/systemverilog.json +26 -24
- package/data/commands/tailwindcss.json +60 -53
- package/data/commands/tcl.json +23 -18
- package/data/commands/toml.json +25 -11
- package/data/commands/twig.json +23 -10
- package/data/commands/vb.json +27 -24
- package/data/commands/wgsl.json +24 -11
- package/data/commands/yaml.json +29 -30
- package/data/completion/angular.json +1490 -0
- package/data/completion/awk.json +906 -202
- package/data/completion/azcli.json +886 -237
- package/data/completion/bicep.json +862 -367
- package/data/completion/crontab.json +906 -202
- package/data/completion/css.json +793 -0
- package/data/completion/dotenv.json +895 -169
- package/data/completion/graphql.json +895 -180
- package/data/completion/hcl.json +906 -191
- package/data/completion/ini.json +906 -136
- package/data/completion/json.json +895 -169
- package/data/completion/lexon.json +856 -295
- package/data/completion/makefile.json +906 -202
- package/data/completion/markdown.json +906 -224
- package/data/completion/mdx.json +895 -87
- package/data/completion/mips.json +872 -377
- package/data/completion/nestjs.json +1454 -0
- package/data/completion/nextjs.json +1373 -0
- package/data/completion/perl.json +961 -202
- package/data/completion/pla.json +895 -154
- package/data/completion/powershell.json +906 -224
- package/data/completion/protobuf.json +884 -180
- package/data/completion/react.json +1319 -0
- package/data/completion/shadcn.json +1202 -0
- package/data/completion/shell.json +2446 -510
- package/data/completion/ssh_config.json +906 -158
- package/data/completion/xml.json +906 -158
- package/data/declaration/angular.json +46 -0
- package/data/declaration/nestjs.json +47 -0
- package/data/declaration/nextjs.json +274 -0
- package/data/declaration/react.json +199 -0
- package/data/declaration/shadcn.json +211 -0
- package/data/declaration/shell.json +343 -24
- package/data/declaration/tailwindcss.json +72 -0
- package/data/definition/abap.json +127 -1
- package/data/definition/angular.json +670 -0
- package/data/definition/apex.json +97 -1
- package/data/definition/coffee.json +51 -1
- package/data/definition/dart.json +105 -1
- package/data/definition/elixir.json +115 -1
- package/data/definition/flow9.json +208 -1
- package/data/definition/freemarker2.json +283 -1
- package/data/definition/html.json +853 -558
- package/data/definition/java.json +1127 -183
- package/data/definition/kotlin.json +72 -1
- package/data/definition/nestjs.json +684 -0
- package/data/definition/nextjs.json +439 -0
- package/data/definition/r.json +692 -83
- package/data/definition/react.json +397 -0
- package/data/definition/ruby.json +789 -669
- package/data/definition/rust.json +852 -206
- package/data/definition/sb.json +339 -1
- package/data/definition/shadcn.json +99 -0
- package/data/definition/shell.json +820 -0
- package/data/definition/st.json +367 -1
- package/data/documentHighlight/angular.json +414 -0
- package/data/documentHighlight/css.json +77 -2
- package/data/documentHighlight/nestjs.json +115 -0
- package/data/documentHighlight/nextjs.json +212 -0
- package/data/documentHighlight/react.json +119 -0
- package/data/documentHighlight/shadcn.json +168 -0
- package/data/documentHighlight/shell.json +664 -334
- package/data/documentHighlight/tailwindcss.json +105 -10
- package/data/documentRangeFormatting/angular.json +45 -0
- package/data/documentRangeFormatting/nestjs.json +57 -0
- package/data/documentRangeFormatting/nextjs.json +57 -0
- package/data/documentRangeFormatting/react.json +82 -0
- package/data/documentRangeFormatting/shadcn.json +45 -0
- package/data/documentRangeFormatting/shell.json +120 -53
- package/data/documentSymbol/abap.json +54 -12
- package/data/documentSymbol/angular.json +180 -0
- package/data/documentSymbol/apex.json +40 -10
- package/data/documentSymbol/awk.json +15 -1
- package/data/documentSymbol/bicep.json +39 -39
- package/data/documentSymbol/c.json +1 -1
- package/data/documentSymbol/clojure.json +46 -46
- package/data/documentSymbol/css.json +96 -96
- package/data/documentSymbol/dart.json +109 -19
- package/data/documentSymbol/dockerfile.json +1 -1
- package/data/documentSymbol/elixir.json +39 -39
- package/data/documentSymbol/go.json +1 -1
- package/data/documentSymbol/graphql.json +1 -1
- package/data/documentSymbol/hcl.json +1 -1
- package/data/documentSymbol/html.json +29 -1
- package/data/documentSymbol/java.json +1 -1
- package/data/documentSymbol/javascript.json +1 -1
- package/data/documentSymbol/julia.json +46 -46
- package/data/documentSymbol/kotlin.json +74 -14
- package/data/documentSymbol/less.json +25 -25
- package/data/documentSymbol/lua.json +22 -1
- package/data/documentSymbol/makefile.json +15 -1
- package/data/documentSymbol/markdown.json +36 -1
- package/data/documentSymbol/mysql.json +32 -32
- package/data/documentSymbol/nestjs.json +152 -0
- package/data/documentSymbol/nextjs.json +159 -0
- package/data/documentSymbol/nginx.json +1 -1
- package/data/documentSymbol/pascal.json +46 -46
- package/data/documentSymbol/perl.json +1 -1
- package/data/documentSymbol/pgsql.json +39 -39
- package/data/documentSymbol/php.json +1 -1
- package/data/documentSymbol/powershell.json +1 -1
- package/data/documentSymbol/protobuf.json +1 -1
- package/data/documentSymbol/python.json +1 -1
- package/data/documentSymbol/r.json +67 -67
- package/data/documentSymbol/react.json +145 -0
- package/data/documentSymbol/redshift.json +60 -18
- package/data/documentSymbol/ruby.json +1 -1
- package/data/documentSymbol/rust.json +1 -1
- package/data/documentSymbol/scala.json +116 -20
- package/data/documentSymbol/scheme.json +25 -25
- package/data/documentSymbol/scss.json +39 -39
- package/data/documentSymbol/shadcn.json +131 -0
- package/data/documentSymbol/shell.json +165 -25
- package/data/documentSymbol/sql.json +1 -1
- package/data/documentSymbol/swift.json +88 -16
- package/data/documentSymbol/tailwindcss.json +49 -0
- package/data/documentSymbol/typescript.json +1 -1
- package/data/documentSymbol/vb.json +53 -53
- package/data/documentSymbol/yaml.json +1 -1
- package/data/foldingRange/angular.json +100 -0
- package/data/foldingRange/nestjs.json +94 -0
- package/data/foldingRange/nextjs.json +94 -0
- package/data/foldingRange/react.json +118 -0
- package/data/foldingRange/shadcn.json +94 -0
- package/data/foldingRange/shell.json +106 -46
- package/data/formatting/abap.json +19 -11
- package/data/formatting/angular.json +63 -0
- package/data/formatting/apex.json +19 -11
- package/data/formatting/awk.json +1 -1
- package/data/formatting/azcli.json +18 -18
- package/data/formatting/bicep.json +18 -18
- package/data/formatting/c.json +1 -1
- package/data/formatting/caddy.json +1 -1
- package/data/formatting/cameligo.json +18 -18
- package/data/formatting/clojure.json +18 -18
- package/data/formatting/coffee.json +18 -18
- package/data/formatting/cpp.json +1 -1
- package/data/formatting/crontab.json +1 -1
- package/data/formatting/csharp.json +1 -1
- package/data/formatting/css.json +73 -73
- package/data/formatting/cypher.json +18 -18
- package/data/formatting/dart.json +43 -15
- package/data/formatting/docker-compose.json +24 -24
- package/data/formatting/dockerfile.json +1 -1
- package/data/formatting/doctest.json +18 -18
- package/data/formatting/dotenv.json +1 -1
- package/data/formatting/ecl.json +18 -18
- package/data/formatting/elixir.json +43 -18
- package/data/formatting/flow9.json +18 -18
- package/data/formatting/freemarker2.json +18 -18
- package/data/formatting/go.json +1 -1
- package/data/formatting/graphql.json +1 -1
- package/data/formatting/hcl.json +26 -1
- package/data/formatting/html.json +26 -1
- package/data/formatting/ini.json +1 -1
- package/data/formatting/java.json +1 -1
- package/data/formatting/javascript.json +1 -1
- package/data/formatting/julia.json +18 -18
- package/data/formatting/kotlin.json +33 -13
- package/data/formatting/less.json +48 -18
- package/data/formatting/lexon.json +18 -18
- package/data/formatting/liquid.json +18 -18
- package/data/formatting/lua.json +1 -1
- package/data/formatting/m3.json +18 -18
- package/data/formatting/makefile.json +1 -1
- package/data/formatting/markdown.json +26 -1
- package/data/formatting/mdx.json +18 -18
- package/data/formatting/mips.json +18 -18
- package/data/formatting/msdax.json +18 -18
- package/data/formatting/mysql.json +43 -18
- package/data/formatting/nestjs.json +23 -0
- package/data/formatting/nextjs.json +23 -0
- package/data/formatting/nginx.json +1 -1
- package/data/formatting/objective-c.json +18 -18
- package/data/formatting/pascal.json +18 -18
- package/data/formatting/pascaligo.json +18 -18
- package/data/formatting/perl.json +1 -1
- package/data/formatting/pgsql.json +43 -18
- package/data/formatting/php.json +1 -1
- package/data/formatting/pla.json +18 -18
- package/data/formatting/postiats.json +18 -18
- package/data/formatting/powerquery.json +18 -18
- package/data/formatting/powershell.json +1 -1
- package/data/formatting/protobuf.json +1 -1
- package/data/formatting/python.json +1 -1
- package/data/formatting/qsharp.json +18 -18
- package/data/formatting/r.json +32 -32
- package/data/formatting/razor.json +18 -18
- package/data/formatting/react.json +71 -0
- package/data/formatting/redis-cli.json +1 -1
- package/data/formatting/redis.json +18 -18
- package/data/formatting/redshift.json +43 -18
- package/data/formatting/restructuredtext.json +18 -18
- package/data/formatting/ruby.json +1 -1
- package/data/formatting/rust.json +1 -1
- package/data/formatting/sb.json +18 -18
- package/data/formatting/scala.json +48 -16
- package/data/formatting/scheme.json +18 -18
- package/data/formatting/scss.json +48 -18
- package/data/formatting/shadcn.json +63 -0
- package/data/formatting/shell.json +102 -18
- package/data/formatting/sol.json +18 -18
- package/data/formatting/sparql.json +18 -18
- package/data/formatting/sql.json +1 -1
- package/data/formatting/ssh_config.json +1 -1
- package/data/formatting/st.json +18 -18
- package/data/formatting/swift.json +58 -18
- package/data/formatting/systemd.json +1 -1
- package/data/formatting/systemverilog.json +18 -18
- package/data/formatting/tcl.json +18 -18
- package/data/formatting/toml.json +1 -1
- package/data/formatting/twig.json +18 -18
- package/data/formatting/typescript.json +1 -1
- package/data/formatting/vb.json +18 -18
- package/data/formatting/wgsl.json +18 -18
- package/data/formatting/xml.json +26 -1
- package/data/formatting/yaml.json +1 -1
- package/data/hover/angular.json +455 -0
- package/data/hover/apex.json +281 -6
- package/data/hover/awk.json +251 -6
- package/data/hover/crontab.json +251 -6
- package/data/hover/css.json +232 -0
- package/data/hover/dotenv.json +242 -4
- package/data/hover/graphql.json +251 -6
- package/data/hover/lexon.json +250 -5
- package/data/hover/markdown.json +226 -9
- package/data/hover/mdx.json +250 -5
- package/data/hover/nestjs.json +296 -0
- package/data/hover/nextjs.json +305 -0
- package/data/hover/perl.json +251 -6
- package/data/hover/pla.json +264 -5
- package/data/hover/powershell.json +252 -7
- package/data/hover/protobuf.json +251 -6
- package/data/hover/react.json +173 -0
- package/data/hover/redis.json +355 -40
- package/data/hover/shadcn.json +450 -0
- package/data/hover/shell.json +684 -75
- package/data/hover/ssh_config.json +251 -6
- package/data/hover/xml.json +231 -7
- package/data/implementation/angular.json +22 -0
- package/data/implementation/nestjs.json +24 -0
- package/data/implementation/nextjs.json +137 -0
- package/data/implementation/react.json +125 -0
- package/data/implementation/shadcn.json +89 -0
- package/data/implementation/shell.json +59 -3
- package/data/inlayHints/angular.json +24 -0
- package/data/inlayHints/nestjs.json +24 -0
- package/data/inlayHints/nextjs.json +143 -0
- package/data/inlayHints/react.json +177 -0
- package/data/inlayHints/shadcn.json +109 -0
- package/data/inlayHints/shell.json +223 -35
- package/data/inlineCompletions/angular.json +135 -0
- package/data/inlineCompletions/c.json +49 -1
- package/data/inlineCompletions/cpp.json +61 -1
- package/data/inlineCompletions/csharp.json +73 -1
- package/data/inlineCompletions/css.json +125 -125
- package/data/inlineCompletions/dart.json +136 -26
- package/data/inlineCompletions/elixir.json +34 -34
- package/data/inlineCompletions/go.json +67 -1
- package/data/inlineCompletions/html.json +1 -1
- package/data/inlineCompletions/java.json +67 -1
- package/data/inlineCompletions/javascript.json +97 -1
- package/data/inlineCompletions/kotlin.json +88 -18
- package/data/inlineCompletions/less.json +76 -28
- package/data/inlineCompletions/lua.json +37 -1
- package/data/inlineCompletions/mysql.json +34 -34
- package/data/inlineCompletions/nestjs.json +25 -0
- package/data/inlineCompletions/nextjs.json +179 -0
- package/data/inlineCompletions/pgsql.json +34 -34
- package/data/inlineCompletions/php.json +43 -1
- package/data/inlineCompletions/python.json +73 -1
- package/data/inlineCompletions/react.json +203 -0
- package/data/inlineCompletions/ruby.json +49 -1
- package/data/inlineCompletions/rust.json +61 -1
- package/data/inlineCompletions/scala.json +130 -25
- package/data/inlineCompletions/scss.json +34 -34
- package/data/inlineCompletions/shadcn.json +115 -0
- package/data/inlineCompletions/shell.json +184 -34
- package/data/inlineCompletions/sql.json +43 -1
- package/data/inlineCompletions/swift.json +112 -22
- package/data/inlineCompletions/typescript.json +97 -1
- package/data/linkedEditingRange/angular.json +23 -0
- package/data/linkedEditingRange/azcli.json +6 -6
- package/data/linkedEditingRange/crontab.json +6 -6
- package/data/linkedEditingRange/docker-compose.json +6 -6
- package/data/linkedEditingRange/doctest.json +6 -6
- package/data/linkedEditingRange/dotenv.json +13 -6
- package/data/linkedEditingRange/ini.json +13 -6
- package/data/linkedEditingRange/json.json +13 -6
- package/data/linkedEditingRange/lexon.json +6 -6
- package/data/linkedEditingRange/mips.json +6 -6
- package/data/linkedEditingRange/msdax.json +6 -6
- package/data/linkedEditingRange/nestjs.json +18 -0
- package/data/linkedEditingRange/nextjs.json +24 -0
- package/data/linkedEditingRange/pla.json +6 -6
- package/data/linkedEditingRange/react.json +74 -0
- package/data/linkedEditingRange/redis-cli.json +6 -6
- package/data/linkedEditingRange/redis.json +6 -6
- package/data/linkedEditingRange/shadcn.json +23 -0
- package/data/linkedEditingRange/shell.json +25 -25
- package/data/linkedEditingRange/ssh_config.json +6 -6
- package/data/linkedEditingRange/systemd.json +6 -6
- package/data/linkedEditingRange/toml.json +13 -6
- package/data/linkedEditingRange/wgsl.json +6 -6
- package/data/linkedEditingRange/xml.json +13 -13
- package/data/linkedEditingRange/yaml.json +13 -6
- package/data/links/angular.json +95 -0
- package/data/links/nestjs.json +130 -0
- package/data/links/nextjs.json +91 -0
- package/data/links/react.json +75 -0
- package/data/links/shadcn.json +98 -0
- package/data/links/shell.json +56 -0
- package/data/links/tailwindcss.json +25 -0
- package/data/manifest.json +339 -152
- package/data/onTypeFormatting/angular.json +63 -0
- package/data/onTypeFormatting/nestjs.json +64 -0
- package/data/onTypeFormatting/nextjs.json +72 -0
- package/data/onTypeFormatting/react.json +148 -0
- package/data/onTypeFormatting/shadcn.json +63 -0
- package/data/onTypeFormatting/shell.json +72 -68
- package/data/rangeSemanticTokens/angular.json +196 -0
- package/data/rangeSemanticTokens/nestjs.json +195 -0
- package/data/rangeSemanticTokens/nextjs.json +199 -0
- package/data/rangeSemanticTokens/react.json +77 -0
- package/data/rangeSemanticTokens/shadcn.json +203 -0
- package/data/rangeSemanticTokens/shell.json +247 -69
- package/data/rangeSemanticTokens/tailwindcss.json +99 -8
- package/data/references/angular.json +26 -0
- package/data/references/nestjs.json +24 -0
- package/data/references/nextjs.json +178 -0
- package/data/references/react.json +192 -0
- package/data/references/shadcn.json +101 -0
- package/data/references/shell.json +323 -92
- package/data/references/tailwindcss.json +66 -0
- package/data/rename/angular.json +121 -0
- package/data/rename/nestjs.json +122 -0
- package/data/rename/nextjs.json +116 -0
- package/data/rename/react.json +133 -0
- package/data/rename/shadcn.json +73 -0
- package/data/rename/shell.json +101 -31
- package/data/selectionRange/abap.json +58 -34
- package/data/selectionRange/angular.json +126 -0
- package/data/selectionRange/apex.json +58 -34
- package/data/selectionRange/awk.json +56 -34
- package/data/selectionRange/azcli.json +43 -24
- package/data/selectionRange/bicep.json +56 -34
- package/data/selectionRange/c.json +62 -39
- package/data/selectionRange/caddy.json +53 -34
- package/data/selectionRange/cameligo.json +56 -34
- package/data/selectionRange/clojure.json +57 -34
- package/data/selectionRange/coffee.json +59 -34
- package/data/selectionRange/cpp.json +73 -44
- package/data/selectionRange/crontab.json +39 -29
- package/data/selectionRange/csharp.json +69 -39
- package/data/selectionRange/css.json +95 -55
- package/data/selectionRange/cypher.json +57 -34
- package/data/selectionRange/dart.json +65 -34
- package/data/selectionRange/docker-compose.json +54 -34
- package/data/selectionRange/dockerfile.json +56 -34
- package/data/selectionRange/doctest.json +47 -24
- package/data/selectionRange/dotenv.json +33 -24
- package/data/selectionRange/ecl.json +58 -34
- package/data/selectionRange/elixir.json +63 -34
- package/data/selectionRange/flow9.json +57 -34
- package/data/selectionRange/freemarker2.json +58 -34
- package/data/selectionRange/go.json +64 -39
- package/data/selectionRange/graphql.json +58 -34
- package/data/selectionRange/hcl.json +56 -34
- package/data/selectionRange/html.json +63 -34
- package/data/selectionRange/ini.json +38 -24
- package/data/selectionRange/java.json +68 -39
- package/data/selectionRange/javascript.json +65 -39
- package/data/selectionRange/julia.json +65 -39
- package/data/selectionRange/kotlin.json +68 -39
- package/data/selectionRange/less.json +58 -34
- package/data/selectionRange/lexon.json +38 -24
- package/data/selectionRange/liquid.json +58 -34
- package/data/selectionRange/lua.json +59 -34
- package/data/selectionRange/m3.json +57 -34
- package/data/selectionRange/makefile.json +53 -34
- package/data/selectionRange/markdown.json +57 -34
- package/data/selectionRange/mdx.json +63 -34
- package/data/selectionRange/mips.json +43 -29
- package/data/selectionRange/msdax.json +52 -34
- package/data/selectionRange/mysql.json +51 -34
- package/data/selectionRange/nestjs.json +35 -0
- package/data/selectionRange/nextjs.json +35 -0
- package/data/selectionRange/nginx.json +53 -34
- package/data/selectionRange/objective-c.json +64 -39
- package/data/selectionRange/pascal.json +53 -34
- package/data/selectionRange/pascaligo.json +57 -34
- package/data/selectionRange/perl.json +59 -34
- package/data/selectionRange/pgsql.json +50 -34
- package/data/selectionRange/php.json +65 -39
- package/data/selectionRange/pla.json +52 -29
- package/data/selectionRange/postiats.json +61 -34
- package/data/selectionRange/powerquery.json +56 -34
- package/data/selectionRange/powershell.json +65 -39
- package/data/selectionRange/protobuf.json +58 -34
- package/data/selectionRange/python.json +66 -39
- package/data/selectionRange/qsharp.json +62 -39
- package/data/selectionRange/r.json +57 -34
- package/data/selectionRange/razor.json +63 -34
- package/data/selectionRange/react.json +103 -0
- package/data/selectionRange/redis-cli.json +38 -24
- package/data/selectionRange/redis.json +38 -24
- package/data/selectionRange/redshift.json +49 -34
- package/data/selectionRange/restructuredtext.json +58 -34
- package/data/selectionRange/ruby.json +65 -39
- package/data/selectionRange/rust.json +73 -44
- package/data/selectionRange/sb.json +43 -29
- package/data/selectionRange/scala.json +65 -39
- package/data/selectionRange/scheme.json +52 -34
- package/data/selectionRange/scss.json +58 -34
- package/data/selectionRange/shadcn.json +120 -0
- package/data/selectionRange/shell.json +64 -34
- package/data/selectionRange/sol.json +63 -39
- package/data/selectionRange/sparql.json +58 -34
- package/data/selectionRange/sql.json +50 -34
- package/data/selectionRange/ssh_config.json +37 -29
- package/data/selectionRange/st.json +49 -29
- package/data/selectionRange/swift.json +73 -44
- package/data/selectionRange/systemd.json +47 -34
- package/data/selectionRange/systemverilog.json +62 -39
- package/data/selectionRange/tailwindcss.json +49 -34
- package/data/selectionRange/tcl.json +57 -34
- package/data/selectionRange/toml.json +49 -29
- package/data/selectionRange/twig.json +58 -34
- package/data/selectionRange/typescript.json +75 -44
- package/data/selectionRange/vb.json +59 -39
- package/data/selectionRange/wgsl.json +61 -34
- package/data/selectionRange/xml.json +51 -34
- package/data/selectionRange/yaml.json +54 -34
- package/data/semanticTokens/angular.json +269 -0
- package/data/semanticTokens/nestjs.json +245 -0
- package/data/semanticTokens/nextjs.json +265 -0
- package/data/semanticTokens/react.json +230 -0
- package/data/semanticTokens/shadcn.json +235 -0
- package/data/semanticTokens/shell.json +238 -65
- package/data/signatureHelp/angular.json +182 -0
- package/data/signatureHelp/nestjs.json +201 -0
- package/data/signatureHelp/nextjs.json +185 -0
- package/data/signatureHelp/react.json +285 -0
- package/data/signatureHelp/shadcn.json +237 -0
- package/data/signatureHelp/shell.json +797 -104
- package/data/typeDefinition/angular.json +362 -0
- package/data/typeDefinition/nestjs.json +334 -0
- package/data/typeDefinition/nextjs.json +285 -0
- package/data/typeDefinition/react.json +236 -0
- package/data/typeDefinition/shadcn.json +292 -0
- package/data/typeDefinition/shell.json +104 -40
- package/package.json +1 -1
- package/data/codeActions/bash.json +0 -169
- package/data/codeActions/zsh.json +0 -49
- package/data/codeLens/bash.json +0 -75
- package/data/codeLens/zsh.json +0 -19
- package/data/color/bash.json +0 -100
- package/data/color/zsh.json +0 -80
- package/data/commands/bash.json +0 -102
- package/data/commands/zsh.json +0 -166
- package/data/completion/bash.json +0 -1184
- package/data/completion/zsh.json +0 -973
- package/data/declaration/bash.json +0 -301
- package/data/declaration/zsh.json +0 -205
- package/data/definition/bash.json +0 -565
- package/data/definition/zsh.json +0 -350
- package/data/documentHighlight/bash.json +0 -393
- package/data/documentHighlight/zsh.json +0 -266
- package/data/documentRangeFormatting/bash.json +0 -41
- package/data/documentRangeFormatting/zsh.json +0 -59
- package/data/documentSymbol/bash.json +0 -124
- package/data/documentSymbol/zsh.json +0 -26
- package/data/foldingRange/bash.json +0 -76
- package/data/foldingRange/zsh.json +0 -46
- package/data/formatting/bash.json +0 -88
- package/data/formatting/zsh.json +0 -28
- package/data/hover/bash.json +0 -579
- package/data/hover/zsh.json +0 -96
- package/data/implementation/bash.json +0 -44
- package/data/implementation/zsh.json +0 -41
- package/data/inlayHints/bash.json +0 -207
- package/data/inlayHints/zsh.json +0 -43
- package/data/inlineCompletions/bash.json +0 -155
- package/data/inlineCompletions/zsh.json +0 -17
- package/data/linkedEditingRange/bash.json +0 -25
- package/data/linkedEditingRange/zsh.json +0 -25
- package/data/links/bash.json +0 -56
- package/data/links/zsh.json +0 -15
- package/data/onTypeFormatting/bash.json +0 -68
- package/data/onTypeFormatting/zsh.json +0 -68
- package/data/rangeSemanticTokens/bash.json +0 -90
- package/data/rangeSemanticTokens/zsh.json +0 -76
- package/data/references/bash.json +0 -221
- package/data/references/zsh.json +0 -166
- package/data/rename/bash.json +0 -37
- package/data/rename/zsh.json +0 -31
- package/data/selectionRange/bash.json +0 -35
- package/data/selectionRange/zsh.json +0 -35
- package/data/semanticTokens/bash.json +0 -71
- package/data/semanticTokens/zsh.json +0 -71
- package/data/signatureHelp/bash.json +0 -111
- package/data/signatureHelp/zsh.json +0 -118
- package/data/typeDefinition/bash.json +0 -95
- package/data/typeDefinition/zsh.json +0 -40
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "angular",
|
|
3
|
+
"codeActions": [
|
|
4
|
+
{
|
|
5
|
+
"title": "Add missing import",
|
|
6
|
+
"kind": "quickfix",
|
|
7
|
+
"description": "Automatically import a symbol that is used but not imported in the current file",
|
|
8
|
+
"pattern": "\\b(Component|Injectable|Directive|Pipe|Input|Output|OnInit|OnDestroy|signal|computed|effect|inject|FormControl|FormGroup|HttpClient|Router|ActivatedRoute)\\b",
|
|
9
|
+
"isPreferred": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"title": "Convert to standalone component",
|
|
13
|
+
"kind": "refactor.rewrite",
|
|
14
|
+
"description": "Convert an NgModule-based component to a standalone component with standalone: true and direct imports",
|
|
15
|
+
"pattern": "@Component\\s*\\(",
|
|
16
|
+
"isPreferred": false
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"title": "Add lifecycle hook",
|
|
20
|
+
"kind": "refactor.rewrite",
|
|
21
|
+
"description": "Add a lifecycle hook (OnInit, OnDestroy, OnChanges, etc.) to the current component or directive class",
|
|
22
|
+
"pattern": "class\\s+\\w+(Component|Directive)",
|
|
23
|
+
"isPreferred": false
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"title": "Extract to service",
|
|
27
|
+
"kind": "refactor.extract",
|
|
28
|
+
"description": "Extract selected logic into a new injectable Angular service",
|
|
29
|
+
"pattern": ".*",
|
|
30
|
+
"isPreferred": false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Add @Input property",
|
|
34
|
+
"kind": "refactor.rewrite",
|
|
35
|
+
"description": "Add a new @Input() property to the component or directive",
|
|
36
|
+
"pattern": "class\\s+\\w+(Component|Directive)",
|
|
37
|
+
"isPreferred": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"title": "Add @Output property",
|
|
41
|
+
"kind": "refactor.rewrite",
|
|
42
|
+
"description": "Add a new @Output() EventEmitter property to the component or directive",
|
|
43
|
+
"pattern": "class\\s+\\w+(Component|Directive)",
|
|
44
|
+
"isPreferred": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"title": "Convert @Input to signal input",
|
|
48
|
+
"kind": "refactor.rewrite",
|
|
49
|
+
"description": "Convert a decorator-based @Input() property to the signal-based input() function",
|
|
50
|
+
"pattern": "@Input\\(\\)",
|
|
51
|
+
"isPreferred": false
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"title": "Convert @Output to signal output",
|
|
55
|
+
"kind": "refactor.rewrite",
|
|
56
|
+
"description": "Convert a decorator-based @Output() EventEmitter to the signal-based output() function",
|
|
57
|
+
"pattern": "@Output\\(\\)",
|
|
58
|
+
"isPreferred": false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Convert *ngIf to @if",
|
|
62
|
+
"kind": "refactor.rewrite",
|
|
63
|
+
"description": "Convert legacy *ngIf structural directive to new built-in @if control flow syntax",
|
|
64
|
+
"pattern": "\\*ngIf",
|
|
65
|
+
"isPreferred": false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"title": "Convert *ngFor to @for",
|
|
69
|
+
"kind": "refactor.rewrite",
|
|
70
|
+
"description": "Convert legacy *ngFor structural directive to new built-in @for control flow syntax with track",
|
|
71
|
+
"pattern": "\\*ngFor",
|
|
72
|
+
"isPreferred": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"title": "Convert ngSwitch to @switch",
|
|
76
|
+
"kind": "refactor.rewrite",
|
|
77
|
+
"description": "Convert legacy ngSwitch directive to new built-in @switch control flow syntax",
|
|
78
|
+
"pattern": "\\[ngSwitch\\]",
|
|
79
|
+
"isPreferred": false
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"title": "Add form validators",
|
|
83
|
+
"kind": "refactor.rewrite",
|
|
84
|
+
"description": "Add Validators (required, email, minLength, etc.) to a FormControl or FormGroup field",
|
|
85
|
+
"pattern": "new FormControl|FormBuilder|fb\\.group|fb\\.control",
|
|
86
|
+
"isPreferred": false
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"title": "Import module",
|
|
90
|
+
"kind": "quickfix",
|
|
91
|
+
"description": "Add a missing module or standalone component/directive/pipe to the imports array",
|
|
92
|
+
"pattern": "@(Component|NgModule)\\s*\\(\\s*\\{",
|
|
93
|
+
"isPreferred": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"title": "Organize imports",
|
|
97
|
+
"kind": "source.organizeImports",
|
|
98
|
+
"description": "Sort and clean up import statements, removing unused imports",
|
|
99
|
+
"pattern": "\\bimport\\b",
|
|
100
|
+
"isPreferred": true
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"title": "Fix all auto-fixable lint issues",
|
|
104
|
+
"kind": "source.fixAll",
|
|
105
|
+
"description": "Apply all available automatic fixes for linting and type errors",
|
|
106
|
+
"pattern": ".*",
|
|
107
|
+
"isPreferred": false
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"title": "Generate trackBy function",
|
|
111
|
+
"kind": "refactor.rewrite",
|
|
112
|
+
"description": "Generate a trackBy function for *ngFor or a track expression for @for",
|
|
113
|
+
"pattern": "\\*ngFor|@for",
|
|
114
|
+
"isPreferred": false
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"providedCodeActionKinds": [
|
|
118
|
+
"quickfix",
|
|
119
|
+
"refactor",
|
|
120
|
+
"refactor.extract",
|
|
121
|
+
"refactor.rewrite",
|
|
122
|
+
"source",
|
|
123
|
+
"source.fixAll",
|
|
124
|
+
"source.organizeImports"
|
|
125
|
+
]
|
|
126
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "nestjs",
|
|
3
|
+
"codeActions": [
|
|
4
|
+
{
|
|
5
|
+
"title": "Add missing decorator import",
|
|
6
|
+
"kind": "quickfix",
|
|
7
|
+
"description": "Adds the missing import statement for NestJS decorators like @Controller, @Injectable, @Get, @Post, etc. from @nestjs/common",
|
|
8
|
+
"pattern": "@(Controller|Injectable|Get|Post|Put|Patch|Delete|Module|Inject|Body|Param|Query|Headers|UseGuards|UseInterceptors|UsePipes|UseFilters|SetMetadata|Catch|HttpCode|Header|Redirect|Req|Res)",
|
|
9
|
+
"isPreferred": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"title": "Generate constructor injection",
|
|
13
|
+
"kind": "quickfix",
|
|
14
|
+
"description": "Generates a constructor with dependency injection for the specified service or repository",
|
|
15
|
+
"pattern": "class\\s+\\w+\\s*\\{",
|
|
16
|
+
"isPreferred": false
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"title": "Extract method to service",
|
|
20
|
+
"kind": "refactor.extract",
|
|
21
|
+
"description": "Extracts the selected method logic from a controller into a service class",
|
|
22
|
+
"pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
|
|
23
|
+
"isPreferred": false
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"title": "Add @Injectable() decorator",
|
|
27
|
+
"kind": "quickfix",
|
|
28
|
+
"description": "Adds the @Injectable() decorator to a class that needs to be managed by the NestJS IoC container",
|
|
29
|
+
"pattern": "export\\s+class\\s+\\w+(Service|Guard|Pipe|Interceptor|Filter|Strategy|Middleware)",
|
|
30
|
+
"isPreferred": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Convert to async method",
|
|
34
|
+
"kind": "refactor",
|
|
35
|
+
"description": "Converts a synchronous route handler method to an async method with Promise return type",
|
|
36
|
+
"pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\([^)]*\\)\\s*\\n\\s*(?!async)",
|
|
37
|
+
"isPreferred": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"title": "Add ValidationPipe to method",
|
|
41
|
+
"kind": "quickfix",
|
|
42
|
+
"description": "Adds @UsePipes(new ValidationPipe()) decorator to the route handler for request validation",
|
|
43
|
+
"pattern": "@(Post|Put|Patch)\\s*\\(",
|
|
44
|
+
"isPreferred": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"title": "Wrap in try-catch with HttpException",
|
|
48
|
+
"kind": "refactor",
|
|
49
|
+
"description": "Wraps the selected code in a try-catch block that throws an appropriate HttpException on error",
|
|
50
|
+
"pattern": "async\\s+\\w+\\s*\\(",
|
|
51
|
+
"isPreferred": false
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"title": "Add @ApiProperty() to DTO fields",
|
|
55
|
+
"kind": "quickfix",
|
|
56
|
+
"description": "Adds @ApiProperty() decorator from @nestjs/swagger to all properties in a DTO class for Swagger documentation",
|
|
57
|
+
"pattern": "class\\s+\\w+Dto\\s*\\{",
|
|
58
|
+
"isPreferred": false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Generate CRUD endpoints",
|
|
62
|
+
"kind": "refactor",
|
|
63
|
+
"description": "Generates a complete set of CRUD route handlers (GET, POST, PUT, DELETE) in the controller",
|
|
64
|
+
"pattern": "@Controller\\s*\\(",
|
|
65
|
+
"isPreferred": false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"title": "Add @UseGuards(AuthGuard)",
|
|
69
|
+
"kind": "quickfix",
|
|
70
|
+
"description": "Adds @UseGuards(AuthGuard('jwt')) decorator to protect the route with JWT authentication",
|
|
71
|
+
"pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
|
|
72
|
+
"isPreferred": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"title": "Add @UseInterceptors(ClassSerializerInterceptor)",
|
|
76
|
+
"kind": "quickfix",
|
|
77
|
+
"description": "Adds ClassSerializerInterceptor to the controller or method for response serialization",
|
|
78
|
+
"pattern": "@Controller\\s*\\(|@(Get|Post|Put|Patch|Delete)\\s*\\(",
|
|
79
|
+
"isPreferred": false
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"title": "Add Swagger decorators to endpoint",
|
|
83
|
+
"kind": "refactor",
|
|
84
|
+
"description": "Adds @ApiOperation, @ApiResponse, and other Swagger decorators to document the endpoint",
|
|
85
|
+
"pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
|
|
86
|
+
"isPreferred": false
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"title": "Convert to custom provider",
|
|
90
|
+
"kind": "refactor",
|
|
91
|
+
"description": "Converts a simple class provider to a custom provider with useFactory, useValue, or useClass syntax",
|
|
92
|
+
"pattern": "providers:\\s*\\[",
|
|
93
|
+
"isPreferred": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"title": "Add module imports",
|
|
97
|
+
"kind": "quickfix",
|
|
98
|
+
"description": "Adds missing NestJS module imports (ConfigModule, TypeOrmModule, etc.) to the module's imports array",
|
|
99
|
+
"pattern": "@Module\\s*\\(",
|
|
100
|
+
"isPreferred": false
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"title": "Organize imports",
|
|
104
|
+
"kind": "source.organizeImports",
|
|
105
|
+
"description": "Organizes and sorts import statements, grouping @nestjs/* imports together",
|
|
106
|
+
"pattern": "import\\s+",
|
|
107
|
+
"isPreferred": false
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"title": "Fix all auto-fixable issues",
|
|
111
|
+
"kind": "source.fixAll",
|
|
112
|
+
"description": "Applies all available auto-fixes including missing imports, decorators, and formatting",
|
|
113
|
+
"pattern": ".*",
|
|
114
|
+
"isPreferred": false
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"providedCodeActionKinds": [
|
|
118
|
+
"quickfix",
|
|
119
|
+
"refactor",
|
|
120
|
+
"refactor.extract",
|
|
121
|
+
"source.organizeImports",
|
|
122
|
+
"source.fixAll"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "nextjs",
|
|
3
|
+
"codeActions": [
|
|
4
|
+
{
|
|
5
|
+
"title": "Add 'use client' directive",
|
|
6
|
+
"kind": "quickfix",
|
|
7
|
+
"description": "Adds 'use client' directive at the top of the file to mark it as a Client Component.",
|
|
8
|
+
"pattern": "useState|useEffect|useContext|useReducer|useRef|useCallback|useMemo|onClick|onChange|onSubmit|addEventListener",
|
|
9
|
+
"edit": {
|
|
10
|
+
"insertText": "'use client';\n\n",
|
|
11
|
+
"position": "top"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"title": "Add 'use server' directive",
|
|
16
|
+
"kind": "quickfix",
|
|
17
|
+
"description": "Adds 'use server' directive to mark the file or function as a Server Action.",
|
|
18
|
+
"pattern": "formData|revalidatePath|revalidateTag|redirect|db\\.|prisma\\.",
|
|
19
|
+
"edit": {
|
|
20
|
+
"insertText": "'use server';\n\n",
|
|
21
|
+
"position": "top"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"title": "Convert to Server Component",
|
|
26
|
+
"kind": "refactor",
|
|
27
|
+
"description": "Removes 'use client' directive and converts client-specific code to server-compatible patterns.",
|
|
28
|
+
"pattern": "^'use client'",
|
|
29
|
+
"edit": {
|
|
30
|
+
"removePattern": "^'use client';?\\s*\\n?",
|
|
31
|
+
"position": "top"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"title": "Convert to Client Component",
|
|
36
|
+
"kind": "refactor",
|
|
37
|
+
"description": "Adds 'use client' directive and ensures the component uses client-side patterns.",
|
|
38
|
+
"pattern": "export\\s+(default\\s+)?(async\\s+)?function",
|
|
39
|
+
"edit": {
|
|
40
|
+
"insertText": "'use client';\n\n",
|
|
41
|
+
"position": "top"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"title": "Extract Server Action",
|
|
46
|
+
"kind": "refactor.extract",
|
|
47
|
+
"description": "Extracts inline server action into a separate 'use server' function.",
|
|
48
|
+
"pattern": "'use server'\\s*;?\\s*\\n\\s*(?=.*formData)",
|
|
49
|
+
"edit": {
|
|
50
|
+
"extractTo": "actions.ts",
|
|
51
|
+
"directive": "'use server'"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"title": "Add generateMetadata export",
|
|
56
|
+
"kind": "quickfix",
|
|
57
|
+
"description": "Adds a generateMetadata function for dynamic SEO metadata.",
|
|
58
|
+
"pattern": "export\\s+default\\s+(async\\s+)?function\\s+\\w+Page",
|
|
59
|
+
"edit": {
|
|
60
|
+
"insertText": "\nimport type { Metadata } from 'next';\n\nexport async function generateMetadata({ params }: { params: { slug: string } }): Promise<Metadata> {\n return {\n title: '',\n description: '',\n };\n}\n",
|
|
61
|
+
"position": "beforeExport"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"title": "Add generateStaticParams export",
|
|
66
|
+
"kind": "quickfix",
|
|
67
|
+
"description": "Adds a generateStaticParams function for static generation of dynamic routes.",
|
|
68
|
+
"pattern": "params:\\s*\\{\\s*\\w+:\\s*string",
|
|
69
|
+
"edit": {
|
|
70
|
+
"insertText": "\nexport async function generateStaticParams() {\n return [];\n}\n",
|
|
71
|
+
"position": "beforeExport"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"title": "Wrap with Suspense boundary",
|
|
76
|
+
"kind": "refactor",
|
|
77
|
+
"description": "Wraps the selected async component with a React Suspense boundary and loading fallback.",
|
|
78
|
+
"pattern": "<\\w+.*/>|<\\w+.*>.*</\\w+>",
|
|
79
|
+
"edit": {
|
|
80
|
+
"wrapWith": "<Suspense fallback={<Loading />}>",
|
|
81
|
+
"wrapEnd": "</Suspense>",
|
|
82
|
+
"import": "import { Suspense } from 'react';"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"title": "Add loading.tsx file",
|
|
87
|
+
"kind": "source",
|
|
88
|
+
"description": "Creates a loading.tsx file in the current route segment directory for streaming.",
|
|
89
|
+
"pattern": "page\\.(tsx|jsx|ts|js)$",
|
|
90
|
+
"edit": {
|
|
91
|
+
"createFile": "loading.tsx",
|
|
92
|
+
"content": "export default function Loading() {\n return <div>Loading...</div>;\n}\n"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"title": "Add error.tsx file",
|
|
97
|
+
"kind": "source",
|
|
98
|
+
"description": "Creates an error.tsx file in the current route segment directory for error handling.",
|
|
99
|
+
"pattern": "page\\.(tsx|jsx|ts|js)$",
|
|
100
|
+
"edit": {
|
|
101
|
+
"createFile": "error.tsx",
|
|
102
|
+
"content": "'use client';\n\nexport default function Error({\n error,\n reset,\n}: {\n error: Error & { digest?: string };\n reset: () => void;\n}) {\n return (\n <div>\n <h2>Something went wrong!</h2>\n <button onClick={() => reset()}>Try again</button>\n </div>\n );\n}\n"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"title": "Convert getServerSideProps to App Router",
|
|
107
|
+
"kind": "refactor",
|
|
108
|
+
"description": "Converts Pages Router getServerSideProps to App Router async Server Component with fetch.",
|
|
109
|
+
"pattern": "getServerSideProps",
|
|
110
|
+
"edit": {
|
|
111
|
+
"convertPattern": "getServerSideProps",
|
|
112
|
+
"replacement": "async-server-component",
|
|
113
|
+
"fetchOptions": "{ cache: 'no-store' }"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"title": "Convert API Route to Route Handler",
|
|
118
|
+
"kind": "refactor",
|
|
119
|
+
"description": "Converts Pages Router API route (req, res) to App Router Route Handler with NextRequest/NextResponse.",
|
|
120
|
+
"pattern": "NextApiRequest|NextApiResponse|req\\.method|res\\.status",
|
|
121
|
+
"edit": {
|
|
122
|
+
"convertPattern": "api-route-to-route-handler",
|
|
123
|
+
"importReplace": {
|
|
124
|
+
"from": "import type { NextApiRequest, NextApiResponse } from 'next';",
|
|
125
|
+
"to": "import { NextRequest, NextResponse } from 'next/server';"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"title": "Add revalidation to fetch",
|
|
131
|
+
"kind": "quickfix",
|
|
132
|
+
"description": "Adds next.revalidate or next.tags option to an existing fetch call.",
|
|
133
|
+
"pattern": "fetch\\([^)]+\\)(?!.*next:)",
|
|
134
|
+
"edit": {
|
|
135
|
+
"appendToFetch": ", { next: { revalidate: 3600 } }"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"title": "Optimize Image component",
|
|
140
|
+
"kind": "quickfix",
|
|
141
|
+
"description": "Converts HTML <img> tag to Next.js <Image> component with optimization props.",
|
|
142
|
+
"pattern": "<img\\s",
|
|
143
|
+
"edit": {
|
|
144
|
+
"replaceTag": "Image",
|
|
145
|
+
"addImport": "import Image from 'next/image';",
|
|
146
|
+
"requiredProps": ["width", "height", "alt"]
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"title": "Add middleware matcher",
|
|
151
|
+
"kind": "quickfix",
|
|
152
|
+
"description": "Adds or updates the config.matcher export in middleware.ts for route matching.",
|
|
153
|
+
"pattern": "export\\s+function\\s+middleware",
|
|
154
|
+
"edit": {
|
|
155
|
+
"insertText": "\nexport const config = {\n matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'],\n};\n",
|
|
156
|
+
"position": "bottom"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"title": "Convert to dynamic import",
|
|
161
|
+
"kind": "refactor",
|
|
162
|
+
"description": "Converts a static import to a dynamic import using next/dynamic for code splitting.",
|
|
163
|
+
"pattern": "import\\s+\\w+\\s+from\\s+'[^']+'",
|
|
164
|
+
"edit": {
|
|
165
|
+
"convertPattern": "static-to-dynamic",
|
|
166
|
+
"addImport": "import dynamic from 'next/dynamic';"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"title": "Add route segment config",
|
|
171
|
+
"kind": "source",
|
|
172
|
+
"description": "Adds route segment configuration exports (dynamic, revalidate, runtime, etc.).",
|
|
173
|
+
"pattern": "page\\.(tsx|jsx|ts|js)|route\\.(tsx|jsx|ts|js)|layout\\.(tsx|jsx|ts|js)",
|
|
174
|
+
"edit": {
|
|
175
|
+
"insertText": "export const dynamic = 'auto';\nexport const revalidate = false;\n",
|
|
176
|
+
"position": "afterImports"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"title": "Organize Next.js imports",
|
|
181
|
+
"kind": "source.organizeImports",
|
|
182
|
+
"description": "Organizes imports with next/* imports first, then third-party, then local imports.",
|
|
183
|
+
"pattern": "import.*from\\s+'next/",
|
|
184
|
+
"edit": {
|
|
185
|
+
"sortOrder": ["next/*", "react", "third-party", "local"]
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"providedCodeActionKinds": [
|
|
190
|
+
"quickfix",
|
|
191
|
+
"refactor",
|
|
192
|
+
"refactor.extract",
|
|
193
|
+
"refactor.inline",
|
|
194
|
+
"source",
|
|
195
|
+
"source.fixAll",
|
|
196
|
+
"source.organizeImports"
|
|
197
|
+
]
|
|
198
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "react",
|
|
3
|
+
"codeActions": [
|
|
4
|
+
{
|
|
5
|
+
"title": "Extract JSX to new component",
|
|
6
|
+
"kind": "refactor.extract",
|
|
7
|
+
"description": "Extracts the selected JSX into a new React functional component and replaces the selection with the new component tag",
|
|
8
|
+
"pattern": "<[A-Za-z][^>]*>[\\s\\S]*</[A-Za-z][^>]*>",
|
|
9
|
+
"isPreferred": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"title": "Extract custom hook",
|
|
13
|
+
"kind": "refactor.extract",
|
|
14
|
+
"description": "Extracts selected stateful logic (useState, useEffect, etc.) into a new custom hook function prefixed with 'use'",
|
|
15
|
+
"pattern": "const\\s+\\[.*\\]\\s*=\\s*useState|useEffect\\s*\\(",
|
|
16
|
+
"isPreferred": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"title": "Wrap with React.memo",
|
|
20
|
+
"kind": "refactor",
|
|
21
|
+
"description": "Wraps the component with React.memo() for performance optimization by preventing unnecessary re-renders when props are unchanged",
|
|
22
|
+
"pattern": "(export\\s+)?(const|function)\\s+[A-Z][a-zA-Z]*",
|
|
23
|
+
"isPreferred": false
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"title": "Wrap with Suspense boundary",
|
|
27
|
+
"kind": "refactor",
|
|
28
|
+
"description": "Wraps selected JSX with a React.Suspense boundary and a fallback loading component",
|
|
29
|
+
"pattern": "<[A-Z][a-zA-Z]*",
|
|
30
|
+
"isPreferred": false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Wrap with ErrorBoundary",
|
|
34
|
+
"kind": "refactor",
|
|
35
|
+
"description": "Wraps selected JSX with an ErrorBoundary component to catch rendering errors in the subtree",
|
|
36
|
+
"pattern": "<[A-Z][a-zA-Z]*",
|
|
37
|
+
"isPreferred": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"title": "Convert class component to function component",
|
|
41
|
+
"kind": "refactor",
|
|
42
|
+
"description": "Converts a class-based React component to a functional component with hooks (useState for state, useEffect for lifecycle methods)",
|
|
43
|
+
"pattern": "class\\s+\\w+\\s+extends\\s+(React\\.)?Component",
|
|
44
|
+
"isPreferred": true
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"title": "Wrap callback with useCallback",
|
|
48
|
+
"kind": "refactor",
|
|
49
|
+
"description": "Wraps an inline function or arrow function passed as a prop with useCallback to memoize it and prevent unnecessary child re-renders",
|
|
50
|
+
"pattern": "\\w+\\s*=\\s*\\{\\s*(\\(|function)",
|
|
51
|
+
"isPreferred": false
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"title": "Wrap value with useMemo",
|
|
55
|
+
"kind": "refactor",
|
|
56
|
+
"description": "Wraps a computed value with useMemo to memoize the result and avoid expensive recalculations on every render",
|
|
57
|
+
"pattern": "const\\s+\\w+\\s*=\\s*(?!use)",
|
|
58
|
+
"isPreferred": false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Organize imports",
|
|
62
|
+
"kind": "source.organizeImports",
|
|
63
|
+
"description": "Sorts and groups React imports: React first, then third-party modules, then local imports, removing any unused imports",
|
|
64
|
+
"pattern": "^import\\s+",
|
|
65
|
+
"isPreferred": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"title": "Fix missing key prop in list",
|
|
69
|
+
"kind": "quickfix",
|
|
70
|
+
"description": "Adds a unique key prop to JSX elements rendered inside a .map() call to fix the 'Each child in a list should have a unique key prop' warning",
|
|
71
|
+
"pattern": "\\.map\\s*\\([^)]*\\)\\s*=>\\s*<",
|
|
72
|
+
"isPreferred": true
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"title": "Fix missing dependency in useEffect",
|
|
76
|
+
"kind": "quickfix",
|
|
77
|
+
"description": "Adds missing variables to the useEffect dependency array based on the variables used inside the effect callback",
|
|
78
|
+
"pattern": "useEffect\\s*\\([^,]+,\\s*\\[",
|
|
79
|
+
"isPreferred": true
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"title": "Convert to controlled component",
|
|
83
|
+
"kind": "refactor",
|
|
84
|
+
"description": "Converts an uncontrolled form input to a controlled component by adding value and onChange props bound to state",
|
|
85
|
+
"pattern": "<input|<textarea|<select",
|
|
86
|
+
"isPreferred": false
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"title": "Wrap with forwardRef",
|
|
90
|
+
"kind": "refactor",
|
|
91
|
+
"description": "Wraps the component with React.forwardRef to allow parent components to access a child ref",
|
|
92
|
+
"pattern": "(export\\s+)?(const|function)\\s+[A-Z][a-zA-Z]*",
|
|
93
|
+
"isPreferred": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"title": "Add displayName",
|
|
97
|
+
"kind": "quickfix",
|
|
98
|
+
"description": "Adds a displayName static property to the component for better debugging in React DevTools",
|
|
99
|
+
"pattern": "(React\\.memo|React\\.forwardRef|memo|forwardRef)\\s*\\(",
|
|
100
|
+
"isPreferred": false
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"title": "Convert to lazy-loaded component",
|
|
104
|
+
"kind": "refactor",
|
|
105
|
+
"description": "Converts a static import of a component to a dynamic import using React.lazy() for code splitting",
|
|
106
|
+
"pattern": "import\\s+\\w+\\s+from",
|
|
107
|
+
"isPreferred": false
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"title": "Add error boundary wrapper",
|
|
111
|
+
"kind": "quickfix",
|
|
112
|
+
"description": "Adds try-catch pattern in async handlers or wraps components with error boundaries for better error handling",
|
|
113
|
+
"pattern": "async\\s+|await\\s+|throw\\s+",
|
|
114
|
+
"isPreferred": false
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"title": "Fix all auto-fixable issues",
|
|
118
|
+
"kind": "source.fixAll",
|
|
119
|
+
"description": "Applies all automatic fixes including missing keys, unused imports, missing dependencies, and formatting issues",
|
|
120
|
+
"pattern": ".*",
|
|
121
|
+
"isPreferred": false
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"title": "Extract inline styles to object",
|
|
125
|
+
"kind": "refactor.extract",
|
|
126
|
+
"description": "Extracts inline style objects from JSX elements into a named constant for better readability and reusability",
|
|
127
|
+
"pattern": "style\\s*=\\s*\\{\\{",
|
|
128
|
+
"isPreferred": false
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"title": "Convert useState to useReducer",
|
|
132
|
+
"kind": "refactor",
|
|
133
|
+
"description": "Converts multiple related useState calls into a single useReducer with typed actions for complex state management",
|
|
134
|
+
"pattern": "const\\s+\\[\\w+,\\s*set\\w+\\]\\s*=\\s*useState",
|
|
135
|
+
"isPreferred": false
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"title": "Add TypeScript types to component props",
|
|
139
|
+
"kind": "quickfix",
|
|
140
|
+
"description": "Generates a TypeScript interface for the component props based on prop usage within the component",
|
|
141
|
+
"pattern": "(const|function)\\s+[A-Z]\\w*\\s*=?\\s*\\(",
|
|
142
|
+
"isPreferred": false
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"providedCodeActionKinds": [
|
|
146
|
+
"quickfix",
|
|
147
|
+
"refactor",
|
|
148
|
+
"refactor.extract",
|
|
149
|
+
"refactor.inline",
|
|
150
|
+
"source",
|
|
151
|
+
"source.fixAll",
|
|
152
|
+
"source.organizeImports"
|
|
153
|
+
]
|
|
154
|
+
}
|